#[derive(Debug)]
struct Dog{
    name: String,
    weight: f32,
    height: f32
}

impl Dog{
    fn get_name(&self) -> &String {
        &self.name
    }

    fn get_weight(&self) -> f32{
        self.weight
    }

    fn get_height(&self) -> f32{
        self.height
    }
}

impl Dog{
    fn show(){
        println!("wa wa wa wa!")
    }
}

fn main() {

    let dog = Dog{
        name: String::from("wangcai"),
        weight: 24.4,
        height: 23.3
    };

    println!("{:#?}",dog);
    println!("dog name: {}",dog.get_name());
    println!("dog height: {}",dog.get_height());
    println!("dog weight: {}",dog.get_weight());

    Dog::show();

    println!("Hello, world!");
}
